From 63415e21f7b80cf75edd1270a05daefed52378e2 Mon Sep 17 00:00:00 2001 From: "kaf24@scramble.cl.cam.ac.uk" Date: Fri, 2 Jul 2004 10:03:23 +0000 Subject: [PATCH] bitkeeper revision 1.1041.6.3 (40e532ebjteJL-J2vKsGbaORF1GYvw) Better bad-cpu error report. --- xen/arch/x86/boot/x86_32.S | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/xen/arch/x86/boot/x86_32.S b/xen/arch/x86/boot/x86_32.S index ae1d72ad23..fea54c1336 100644 --- a/xen/arch/x86/boot/x86_32.S +++ b/xen/arch/x86/boot/x86_32.S @@ -19,8 +19,25 @@ ENTRY(start) /* Checksum: must be the negated sum of the first two fields. */ .long -0x1BADB004 +bad_cpu_msg: + .asciz "Bad CPU: we need at least a P6-compatible core." bad_cpu: - jmp bad_cpu + mov $SYMBOL_NAME(bad_cpu_msg)-__PAGE_OFFSET,%esi + mov $0xB8000,%edi # VGA framebuffer +1: mov (%esi),%bl + test %bl,%bl # Terminate on '\0' sentinel +2: je 2b + mov $0x3f8+5,%dx # UART Line Status Register +3: in %dx,%al + test $0x20,%al # Test THR Empty flag + je 3b + mov $0x3f8+0,%dx # UART Transmit Holding Register + mov %bl,%al + out %al,%dx # Send a character over the serial line + movsb # Write a character to the VGA framebuffer + mov $7,%al + stosb # Write an attribute to the VGA framebuffer + jmp 1b __start: /* Set up a few descriptors: on entry only CS is guaranteed good. */ -- 2.30.2